A converged or hyper-converged infrastructure can provide an enterprise with modular and expandable central processing unit (CPU), memory, storage, and/or network resources as well as system backup and recovery. In converged and hyper-converged infrastructures, CPU, memory, storage, and sometimes network resources are brought together using preconfigured and integrated hardware. Tasks can be allocated to hardware that is capable of performing the allotted task. When a task or workload requires more resources, additional hardware can be assigned to the task, for example, using virtualization software.
Tasks, such as applications or virtual machines, can be allocated across a fleet of physical host machines in the converged environment. A particular enterprise or user can deploy a cluster of virtual machines across one or more physical host machines in the converged environment. Users of the environment can be faced with questions concerning how to plan for failover within the environment. A user might consider how many physical host machines or hosts to provision in a deployment for failover purposes. A user might also consider whether their cluster of virtual machines will restart with minimal or significant disruption in the event of a host failure. In cloud environments where users or enterprises are charged according to a pay-per-use model, the user might wish to ensure that their cluster of virtual machines is neither under-provisioned nor over-provisioned. Under-provisioning can impair failover performance of a deployment. Over-provisioning can result in wasting computing resources. Therefore, improved mechanisms for predicting failover can help an administrator of a hyper-converged infrastructure allocate resources in an efficient manner.